@echo off
echo ========================================
echo Eagle Project - Development Environment
echo ========================================
echo.

:: 检查 Go 环境
echo [1/5] 检查 Go 环境...
go version >nul 2>&1
if errorlevel 1 (
    echo 错误: 未找到 Go 环境，请先安装 Go
    pause
    exit /b 1
)
echo ✓ Go 环境正常

:: 检查配置文件
echo [2/5] 检查配置文件...
if not exist "config\config.local.yaml" (
    echo 创建本地配置文件...
    copy "config\config.yaml" "config\config.local.yaml"
    echo ✓ 已创建 config\config.local.yaml
    echo 请编辑 config\config.local.yaml 配置数据库连接信息
    echo.
) else (
    echo ✓ 配置文件已存在
)

:: 检查依赖
echo [3/5] 检查依赖...
if not exist "go.mod" (
    echo 错误: 未找到 go.mod 文件
    pause
    exit /b 1
)

:: 下载依赖
echo [4/5] 下载依赖...
go mod download
if errorlevel 1 (
    echo 错误: 依赖下载失败
    pause
    exit /b 1
)
echo ✓ 依赖下载完成

:: 生成 Wire 代码
echo [5/5] 生成 Wire 代码...
cd cmd\server
wire
if errorlevel 1 (
    echo 错误: Wire 生成失败
    cd ..\..
    pause
    exit /b 1
)
cd ..\consumer
wire
if errorlevel 1 (
    echo 错误: Wire 生成失败
    cd ..\..
    pause
    exit /b 1
)
cd ..\..
echo ✓ Wire 代码生成完成

echo.
echo ========================================
echo 启动开发服务器...
echo ========================================
echo 服务地址: http://localhost:8080
echo 健康检查: http://localhost:8080/health
echo 按 Ctrl+C 停止服务
echo.

:: 启动服务
go run cmd/server/main.go cmd/server/wire_gen.go -c config/config.local.yaml

pause 